﻿namespace WMS6.Services
{
    using System.Data;
    using System.ServiceModel;
    using WMS6.Common;
    using WMS6.DataEntity;
    using WMS6.QueryEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IAnalyticsReportService2
    {
        [OperationContract, ServiceKnownType(typeof(BillingLoadDetailRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        DataSet GetBillingLoadDetailRptDataSet(BillingLoadDetailRptQueryEntity billingLoadDetailRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(InvoiceRptQueryEntity)), FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetBillingProfitRptDataSet(InvoiceRptQueryEntity invoiceRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(ContractRptQueryEntity))]
        DataSet GetContractRptDataSet(ContractRptQueryEntity contractRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(DailyInvPalletRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetDailyInvPalletRptDataSet(DailyInvPalletRptQueryEntity dailyInvPalletRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(DeclarationEarlyWarningRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        DataSet GetDeclarationEarlyWarningRptDataSet(DeclarationEarlyWarningRptQueryEntity declarationEarlyWarningRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(DeliveryOrderRptQueryEntity)), OperationContract]
        DataSet GetDeliveryOrderRptDataSet(DeliveryOrderRptQueryEntity deliveryOrderRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(EmployeeWorkRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetEmployeeWorkRptDataSet(EmployeeWorkRptQueryEntity employeeWorkRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(HistoryStockRptQueryEntity))]
        DataSet GetGlobalHistoryStockRptDataSet(HistoryStockRptQueryEntity historyStockRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(HistoryStockRptQueryEntity)), OperationContract]
        DataSet GetHistoryStockRptDataSet(HistoryStockRptQueryEntity historyStockRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(InOutStockRptDetailQueryEntity))]
        DataSet GetInOutInv2RptDetailDataSet(InOutStockRptDetailQueryEntity InOutStockRptDetailQuery, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(InvoiceRptQueryEntity)), OperationContract]
        DataSet GetInvoiceRpt2DataSet(InvoiceRptQueryEntity invoiceRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(InvoiceRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        DataSet GetInvoiceRptDataSet(InvoiceRptQueryEntity invoiceRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(LoadingRptQueryEntity))]
        DataSet GetLoadingRptDataSet(LoadingRptQueryEntity loadingRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(OperatorWorkRptQueryEntity)), OperationContract]
        DataSet GetOperatorWorkRptDataSet(OperatorWorkRptQueryEntity operatorWorkRptQueryEntity, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(RentWhDetailRptQueryEntity)), FaultContract(typeof(FaultDetail))]
        DataSet GetRentWhDetailRptDataSet(RentWhDetailRptQueryEntity rentWhDetailRptQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(StatementRptQueryEntity)), OperationContract]
        DataSet GetStatementRptDataSet(StatementRptQueryEntity statementRptQueryEntity, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(WorkClassRptQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetWorkClassRptDataSet(WorkClassRptQueryEntity workClassRptQueryEntity, PubParasInfo pubParasInfo);
    }
}

